Skip to content

release: v3.0.1 (develop → main) - #159

Merged
dennis0405 merged 76 commits into
mainfrom
develop
Aug 17, 2026
Merged

dennis0405 merged 76 commits into
mainfrom
develop

Conversation

@dennis0405

@dennis0405 dennis0405 commented Aug 16, 2026 •

Copy link
Copy Markdown
Collaborator

릴리스 개요

develop에 누적된 변경사항을 main으로 반영하는 v3.0.1 릴리스 PR입니다.

주요 변경사항

모바일 앱

  • 신규·기존 동아리 등록, 운영진 권한 신청, 동아리 정보·모집공고 관리 플로우를 확장했습니다.
  • 공식 인증 신청·재요청과 상태 표시를 추가했습니다.
  • 비로그인 진입, 앱 진입 화면, 마이페이지 및 동아리 상세 UI를 개선했습니다.
  • 프로필 단과대·학과 수정, 의견 작성 카드, 운영진 정보 입력, 하단 탭바 관련 TestFlight QA 이슈를 수정했습니다.
  • Android 16 대응 및 iOS/Android 앱 버전을 3.0.1로 준비했습니다.

서버·데이터

  • 사용자 학과 정보를 collegeMajor 기반으로 전환했습니다.
  • v1 API와 레거시 DB 필드 의존성을 제거했습니다.
  • 공식 인증 재요청 정책과 학기별 횟수 초기화를 반영했습니다.
  • 사용자 의견 알림을 Slack에서 Discord Webhook으로 이전했습니다.
  • 운영진·중앙동아리 관리를 위한 어드민 기능을 보완했습니다.

저장소·배포·보안

  • 모바일과 웹을 pnpm 모노레포 구조로 통합했습니다.
  • CI, Android artifact/internal testing, web dev/prod 이미지 배포와 GitOps 갱신 흐름을 정비했습니다.
  • Next.js를 maintenance LTS 15.5.21로, Axios를 1.19.0으로 업그레이드했습니다.
  • Sharp 0.35.3, PostCSS 8.5.25, Nanoid 3.3.18 및 Swagger UI 5.32.13으로 웹의 도달 가능한 critical/high 취약점을 제거했습니다.
  • Pages Router와 React Native 워크스페이스의 런타임 일관성을 위해 React/React DOM 18.2.0을 유지합니다.

배포 체크포인트

  • prod DB user.service 기본값 적용 및 비정상 데이터 0건 확인
  • prod Secret에 DISCORD_WEBHOOK_URL_USER_VOICE 키 존재 확인
  • Next.js 15 dev rollout, health/public API 200, 인증·우회 probe 401 확인
  • main 머지 후 prod web 이미지·Pod rollout 및 health 확인
  • 새 서버 안정화 후 apps/web/sql/260811_post_deploy.sql 실행
  • Android main workflow의 internal testing 빌드를 production으로 승격
  • iOS 3.0.1 (build 2026081701) archive·TestFlight·심사 제출
  • 배포 완료 후 강제 업데이트 version API 설정
  • 인스타 카드뉴스 게시

검증 결과

  • 최신 저장소 검증: lint/typecheck 6/6, 웹 43 tests, 모바일 82 tests 통과
  • Android/iOS Metro bundle 통과
  • Next.js 15.5.21 production build 통과
  • PR chore(web): production dependency security upgrade #160 CI 4/4 통과 후 develop 병합
  • dependency audit: 1 critical / 31 high → 0 critical / 5 high
  • 잔여 high는 모바일 비도달 경로입니다: React Native Firebase 하위 미사용 웹 SDK undici, 신뢰된 로컬 asset만 처리하는 Metro build-time image-size
  • dev image 31986188313-1: 1/1 Ready, restart 0, health 200, Discord 변수 존재 확인
  • iPhone 15 Pro dev 앱 설치 후 TestFlight QA 수정 항목 실기기 검증 완료
  • App Store Connect 최신 3.0.1 build는 2026081502; 다음 build는 날짜 규칙에 따라 2026081701 사용

롤백 계획

  • 서버 이상 시 GitOps 이미지 태그를 직전 prod 이미지로 복구합니다.
  • 앱은 스토어 단계적 배포를 중지하고 직전 안정 버전을 유지합니다.
  • post SQL은 레거시 컬럼을 삭제하므로 서버 안정화 전에는 실행하지 않습니다. 실행 후에는 단순 이미지 롤백만으로 복구할 수 없습니다.

참고

  • main과 develop이 과거 merge commit으로 diverged 상태라 커밋 목록이 길게 표시될 수 있습니다. 실제 릴리스 diff와 CI 결과를 기준으로 검토합니다.
  • Next.js 15 Pages Router는 React 18을 공식 지원합니다: https://nextjs.org/blog/next-15

체크

  • 정상 동작 확인
  • UI 깨짐 없음
  • 콘솔 에러 없음

cirtuare and others added 30 commits July 4, 2026 13:27
* feat: modify mypage root page

* feat: club type bottom sheet

* feat: FlowScreenLayout, FlowScreenFooter 공통 컴포넌트 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: AlertModal description prop optional 처리

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: 동아리 운영진 등록 화면 추가 및 네비게이션 연결

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: 운영진 등록 v2 API 연결 (동아리 검색, 운영진 신청)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: react-native-blurhash 의존성 제거

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: satisfy lint

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* frontend init structure

* modified to design spec

* fix: completion button

* settings file commit

* fix: scroll deactive issue

* fix: alert modal

* recruitment register logic

* form validation

* fix: api error message

* mypage init structure

* fix: club management page component

* fix: component

* snu logo

* recruitment delete

* delete modal

* feat: recruitment edit

* refactor: new/edit

* fix: time sec delete

* delete navbar

* header change

* feat: image api

* feat: manager list

* feat: api patch

* fix: recruitment list component

* feat: import prev recruitment

---------

Co-authored-by: Sumin Lee <cirtuare@gmail.com>
* feat: added pages from figma

* fix: clubRoom location fix in form

* feat: link API for club registration

* fix: redesign specs

* fix: fit api specs

* feat: 동아리 등록 완료 후 마이페이지로 이동

등록 요청 후 성공/실패와 무관하게 폼을 초기화하고 마이페이지 메인으로
돌아가도록 수정. 디자인에 없던 결과 Toast(성공/실패)는 제거.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix: admin info form layout design

---------

Co-authored-by: Daniel <danielna1118@snu.ac.kr>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* fix: keep autoscroll maxoffset updated

* feat: add optional back button visibility to Header component and hide back button on saved club screen

* fix: resolve conflict between carousel hold and clubpreviewcard tap

* refactor: simplify ClubPreviewCard and HorizontalCarousel components
* feat: 동아리 정보 수정 API 연결

* feat: 동아리 정보 수정 진입 흐름 추가

* feat: 동아리 정보 수정 기능 구현

* fix: 동아리 정보 수정 입력값 매핑 보완

* fix: 동아리 소속 선택 목록을 서버 데이터로 보완
* fix: 최소활동기간 감소 로직 공통화 및  0학기 선택 시 없음으로 변경

* fix: 동아리 추가 설명 입력 줄바꿈 지원
* 동아리 공고 모집 기간 UI 변경

* 신규 동아리 이미지 업로드

* 모집 공고 폰트와 색상 변경

* 현재 공고 중복 방지
* feat: 관리 동아리 목록 상태 표시 추가

- 관리 동아리 목록 응답에 managementStatus 타입 반영
- 마이페이지 관리 동아리 카드 버튼을 상태별로 분기
- 승인되지 않은 관리 동아리는 편집 화면 이동을 막도록 처리

* feat: 마이페이지 승인/반려 결과 알림 모달 추가

* feat: AlertModal 배경 dim 및 blur 설정 옵션 추가
* fix: 운영진 권한 요청 전 확인 모달 추가

* fix: 등록된 운영진이 있는 동아리의 권한 요청 차단

* fix: 운영진 권한 요청 모달의 dim 터치 닫기 허용
* fix: 마이페이지의 동아리 소속 및 설명 표시 기준을 신규 DB 구조에 맞춰 변경

* fix: 동아리 정보 수정 초기값 fallback 기준을 신규 DB에 맞춰 변경
* fix: 최소 활동 기간 있음 선택 시 1학기로 설정

* fix: 공고 본문 라벨 문구 수정

* feat: 전화번호 및 학번 입력 자동 포맷팅 적용

* fix: 운영진 정보 입력 형식 및 안내 UI 통일

* feat: 사용자 프로필 기반 운영진 정보 프리필 적용
* fix: 동아리 카드 블러 렌더링 방식 개선

* fix: 플랫폼별 동아리 카드 블러 강도 조정

* chore: modify ios blurradius

---------

Co-authored-by: Sumin Lee <cirtuare@gmail.com>
* chore: ignore local task files

* feat: redesign club detail and registration flow

* feat: support multiple club SNS links

* refactor: use SNS URL list exclusively
* fix: open recruitment application links

* fix: normalize application links before submission
* refactor: share profile edit pencil button

* fix: align my page profile card assets

* fix: preserve my page profile card spacing
* fix: handle recruitment deadlines in Korean time

* feat: add zoomable club image viewer

* refactor: separate image zoom gestures
* fix: improve SNU logo visibility

* fix: clarify recruitment deadline display

* fix: improve image viewer pinch gestures
dennis0405 and others added 23 commits August 10, 2026 19:35
* fix: 운영진 등록 기본 정보 화면 디자인 통일

* fix: 홈 화면 리뉴얼 로고 적용

* fix: 동아리 상세 액션 아이콘 크기 조정

* fix: 동아리 상세 활동 조건 뱃지 디자인 수정

* fix: 이전 공고 버튼 디자인 수정

* fix: 활동 후기 작성 화면 디자인 수정

* fix: 동방 위치 표시 문구 복원

* fix: 모집공고 상세 디자인 수정
* feat: 공식 인증 재요청 횟수를 학기별로 초기화

* fix: 공식 인증 요청 목록의 학기 조회 제한 제거

* fix: 학기 변경 시 인증 상태를 유지하고 재요청 횟수만 초기화
* feat: 모바일 공식 인증 상태 응답 연동

* feat: 모바일 공식 인증 요청 및 재요청 플로우 구현

* feat: 동아리 관리 카드에 인증 상태 스티커 추가
모노레포 마이그레이션(#127) 후 pnpm hoisted 모드로 node_modules가
apps/mobile이 아닌 루트에만 생성되는데, iOS 쪽 상대 경로들이 이를
반영하지 못해 pod install / Xcode 빌드가 실패했음. Android는 이미
동일한 문제가 #130, #136에서 수정됐으나 iOS는 누락되어 있었음.

- Podfile: require_relative 경로, react_native_post_install의
  react_native_path 인자 추가
- Local/Staging/clubhouse.xcscheme: react-native-config 프리액션
  스크립트 경로
- project.pbxproj: 번들링/패키저 스크립트 페이즈 및
  react-native-vector-icons 폰트 리소스 경로

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
* feat: 사용자 정보 조회 응답에 collegeMajor 관계 추가

* refactor: 모바일 사용자 학과 정보를 collegeMajor 기반으로 전환
* fix(mobile): enlarge registration category labels

* fix(mobile): restore manage club sheet layout

* fix(mobile): enlarge edit category labels

* fix(mobile): update verification sticker copy
* refactor: 모바일 리뷰 평점 필드 의존 제거

* refactor: 모집공고 수정 시각을 recruitment 기준으로 전환

* refactor: 모바일 activityCycle 의존 제거

* refactor: 동아리 소속·요약 표시를 신규 필드 기준으로 전환

* refactor: 모바일 미사용 레거시 필드 타입 정리
* refactor: v1 API 및 전용 서버 코드 제거

* refactor: 미사용 device 기능 및 deprecated 관리자 신청 API 제거

* refactor: 사용자 학과 정보를 collegeMajor로 일원화

* refactor: 레거시 DB 필드 제거

* docs: 모바일 User 타입 예시 최신화

* style: 웹 Biome 포맷 불일치 수정
Update the environment-level Kustomize overlay after each OCIR push and serialize deployments per repository. Keep the GitOps overlay path explicit because the OCIR repository includes the allclear-web service suffix.
* fix: 동아리 후기 필 텍스트 잘림 및 key 충돌 수정

* fix: 단일 행 입력창 텍스트 잘림 수정

* fix: 정기모임 시간 드롭다운 줄바꿈 수정

* fix: 공고 입력 필드 레이아웃을 피그마와 일치하도록 수정

* fix: 공고 폼 입력 요소 스타일을 피그마와 일치하도록 수정

* fix: 공고 등록 안내 문구 줄바꿈 위치 수정

* fix: 최근 검색어 칩 텍스트 잘림 수정
* fix: 동아리 카드 제목 말줄임 처리

* fix: 동아리 카드 및 후기 필 피그마 레이아웃 반영

* fix: 동아리 유형 선택 버튼 텍스트 수직 중앙 정렬

* fix: 운영진 정보 입력 화면 레이아웃 조정
* fix: 홈 카테고리 섹션 로고 교체

* fix: 홈 헤더 및 카테고리 섹션 레이아웃 조정
* chore(mobile): bump iOS version to 3.0.1

* ci: use unique web image tags
* chore(mobile): target Android 16

* fix(mobile): correct Android 16 manifest settings
* fix: resolve TestFlight QA UI regressions

* chore: ignore local Xcode environment
* fix: 프로필 수정 결과를 즉시 반영

* fix: 의견 카드 하단 버튼 위치를 고정

* feat: 사용자 의견 전송을 Discord로 이전

* fix: 운영진 등록 후 탭바 스타일을 복원

* chore: Slack 제거 범위로 lockfile 정리

* test: Discord 웹훅 설정 누락을 검증

* chore: 사용자 의견 Discord 웹훅 환경변수 분리
실기기 QA에서 확인된 학과 선택창 정렬과 의견 작성 UX를 보완합니다.
@yabsed yabsed mentioned this pull request Aug 16, 2026
3 tasks
Upgrade Next.js to the maintained 15.5 release and Axios to the hardened 1.x line. Pin patched transitive versions for the hoisted workspace while keeping both apps on React 18.
@dennis0405
dennis0405 temporarily deployed to android-dev-internal August 17, 2026 01:51 — with GitHub Actions Inactive
@dennis0405
dennis0405 marked this pull request as ready for review August 17, 2026 01:56
@dennis0405
dennis0405 requested a review from cirtuare August 17, 2026 01:56
@dennis0405
dennis0405 merged commit d6805e9 into main Aug 17, 2026
5 checks passed

This branch was previously deployed

1 inactive deployment
android-dev-internal — a0f2afde Deployed Aug 17, 2026 by dennis0405 via build-and-deploy #153
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants